package single1;

/**
 * 加锁的懒汉式
 *
 *
 *
 * 这种情况下  在 大量线程情况下   会导致阻塞 性能下降
 *
 *
 * synchronized的3种使用方式：
 *
 * 修饰实例方法：作用于当前实例加锁
 * 修饰静态方法：作用于当前类对象加锁
 * 修饰代码块：指定加锁对象，对给定对象加锁
 */
public class Single3 {

    private Single3(){}

    public static Single3 single3 = null;

    public static synchronized Single3 getInstance(){
        if(single3==null){
            return new Single3();
        }
        return single3;
    }
}
